/*
 * AsyncTrade.h
 *
 *  Created on: 2014. 4. 3.
 *      Author: mega
 */

#ifndef ASYNCTRADE_H_
#define ASYNCTRADE_H_

namespace ProjectZ { namespace NLogic { namespace NAsync {

class AsyncTrade
{
public:
	struct Data
	{
		int class_type;
		int sheet_type;
		int min_level;
		int max_level;
		int quality;
		int start_index;
		int end_index;

		Data()
		{
			class_type	= 0;
			sheet_type	= 0;
			min_level	= 0;
			max_level	= 0;
			quality		= 0;
			start_index	= 0;
			end_index	= 0;
		}

		void Clear()
		{
			class_type	= 0;
			sheet_type	= 0;
			min_level	= 0;
			max_level	= 0;
			quality		= 0;
			start_index	= 0;
			end_index	= 0;
		}
	};

public:
	AsyncTrade();
	virtual ~AsyncTrade();

	void	Initialize();
	void	Finalize();

	Data &	GetData();

	void	SetTotalCount(int total_count);
	int		GetTotalCount();

private:
	Data	_data;
	int		_total_count;
};

} /* namespace NAsync */ } /* namespace NLogic */ } /* namespace ProjectZ */

#endif /* ASYNCTRADE_H_ */
